package com.codeyang.config;

import com.alipay.demo.trade.config.Configs;
import com.alipay.demo.trade.service.AlipayTradeService;
import com.alipay.demo.trade.service.impl.AlipayTradeServiceImpl;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 描述: 阿里支付的配置相关 bean对象 使其被spring管理为单列对象,减少new的次数
 *
 * @author CodeYang_Site
 * @version 2021/6/2 17:31
 */
@Configuration
public class AliPayConfig {

    /**
     * 配置支付服务的一些必须要的配置,必须在支付服务创建之前加载到系统环境中
     * 可以使用static 代码块方式初始化,也可以使用 无参构造方法初始化
     */

    static {
        // 加载alipay外置配置文件
        Configs.init("zfbinfo.properties");

    }

    public AliPayConfig() {
    }

    /**
     * 注入支付服务对象
     *
     * @return
     */
    @Bean
    public AlipayTradeService alipayTradeService() {
        return new AlipayTradeServiceImpl.ClientBuilder().build();
    }
}
